﻿using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos;

namespace Acme.BookStore.FormWhxDto.StorehouseDto
{
    public class StorehouseSearchDto : PagedAndSortedResultRequestDto
    {
        /// <summary>
        /// 仓库编号
        /// </summary>
        [StringLength(50)]
        public string? WarehouseCode { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        [StringLength(100)]
        public string? WarehouseName { get; set; }

        /// <summary>
        /// 仓库容量范围（最小值）
        /// </summary>
        public int? MinCapacity { get; set; }

        /// <summary>
        /// 仓库容量范围（最大值）
        /// </summary>
        public int? MaxCapacity { get; set; }

        /// <summary>
        /// 库管部门
        /// </summary>
        [StringLength(100)]
        public string? ManagementDept { get; set; }

        /// <summary>
        /// 仓库主管
        /// </summary>
        [StringLength(100)]
        public string? WarehouseManager { get; set; }

        /// <summary>
        /// 库位数量范围（最小值）
        /// </summary>
        public int? MinLocationCount { get; set; }

        /// <summary>
        /// 库位数量范围（最大值）
        /// </summary>
        public int? MaxLocationCount { get; set; }

        /// <summary>
        /// 仓库状态
        /// </summary>
        [StringLength(50)]
        public string? WarehouseStatus { get; set; }

        /// <summary>
        /// 操作人
        /// </summary>
        [StringLength(100)]
        public string? Operator { get; set; }

        /// <summary>
        /// 操作时间范围（开始）
        /// </summary>
        public DateTime? OperationTimeStart { get; set; }

        /// <summary>
        /// 操作时间范围（结束）
        /// </summary>
        public DateTime? OperationTimeEnd { get; set; }
    }
}
